package cn.ibdsr.human.service;

import cn.ibdsr.human.transfer.JobStatusDTO;
import cn.ibdsr.human.transfer.ServerInitDTO;
import cn.ibdsr.human.transfer.UserDetailDTO;
import cn.ibdsr.human.transfer.UserDetailSaveDTO;
import cn.ibdsr.human.transfer.platform.PlatformUserDetialDTO;
import cn.ibdsr.human.transfer.platform.UserListResponseDTO;
import cn.ibdsr.human.transfer.platform.UserQueryDTO;

/**
 * @description:
 * @author: cdl
 * @email: iamcimon@qq.com
 * @date: 2021/8/3 13:56
 */
public interface UserDetailService {
    /**
     * 根据id获取用户信息
     * @param userId
     * @return
     */
    UserDetailDTO getUserDetail(Long userId);

    /**
     * 保存个人信息
     * @param userId
     * @param userDetailSaveDTO
     * @return
     */
    Long save(Long userId, UserDetailSaveDTO userDetailSaveDTO);

    /**
     * 保存工作状态
     * @param userId
     * @param jobStatusDTO
     * @return
     */
    Long saveJobStatus(Long userId, JobStatusDTO jobStatusDTO);

    /**
     * 获取建立进度
     * @param userId
     * @return
     */
    ServerInitDTO getProgresses(Long userId);

    /**
     * 获取用户信息列表
     * @param userQueryDTO
     * @return
     */
    UserListResponseDTO getUserList(UserQueryDTO userQueryDTO);

    /**
     * 平台保存个人信息
     * @param userId
     * @param userDetailSaveDTO
     * @return
     */
    Long saveByPlatform(Long userId, UserDetailSaveDTO userDetailSaveDTO);


    Long createUserDetail();
}
